{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "99ab9df4-8a1a-45d1-930f-b5d7ae456881",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import linear_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "a522598b-f633-4e57-ac87-e6153b97bde0",
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(42)\n",
    "X1 = 2*np.random.rand(100,1)\n",
    "X2 = 2*np.random.rand(100,1)\n",
    "X = np.c_[X1,X2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "03e50115-658b-4ffc-8c02-ce974554d766",
   "metadata": {},
   "outputs": [],
   "source": [
    "Y = 5 + 4*X1 + 3*X2 + np.random.randn(100,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "e6ffc044-7bdb-480e-9833-74c6f1a6d0ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "reg = linear_model.LinearRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "8ad3c36f-d60a-4e02-a3d2-8424a255b17a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LinearRegression</label><div class=\"sk-toggleable__content\"><pre>LinearRegression()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "LinearRegression()"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.fit(X,Y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "8a69094a-ba54-4b23-9612-f3cb1fddc902",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[3.82913734, 3.35965571]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "5ef5b548-d960-4c12-9116-7051abad90d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([4.91061004])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.intercept_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "d6f46886-c7f8-4949-bd18-10f3958e468b",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_new = np.array([[0,0],\n",
    "                  [2,1],\n",
    "                 [2,4]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "2d9070e8-af43-46ad-971d-94862670d339",
   "metadata": {},
   "outputs": [],
   "source": [
    "Y_predict = reg.predict(x_new)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "a7f01f25-4ca4-40a5-8577-1a506df85e74",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 4.91061004],\n",
       "       [15.92854042],\n",
       "       [26.00750754]])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Y_predict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "3c4a2da5-9364-4cf0-86d6-e7a8f411d16f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Fr8yWioqq2QDANACEe99es8998jj8QR99evXL7J/5MsvpT//Wbr4YiknR5o+XSouNqFl0CBp1izp00+ljRul3/yG0BKGoiKz4OSll5rvRUXxLhEAAFGqcenfv79WrFgR+CORmKTtiy/Mass+n1l9+VgFBYGalZ49W/63klxpqXTTTYHKK7/fLINQWEjNCwAgvqISXFq1aqXs7OxmHVtVVaWqqqranyuPnaX2s88CYeXtt4N/8fzzA2Gle/dIFBs/CHuVbAAAoiwqwWXLli3KyclRmzZtNHToUM2aNUvdGwgXs2bN0syZM+vuGDZM+ve/Az97PNJFF5mwMnmy1K1bNIoOhbhKNgAAMeRxHMeJ5AO+8sorOnDggPr27atdu3Zp5syZ+vLLL7Vp0ya1b9++zvH11bjk5eWpQlJGSoo0fLgJK1dcITWzFgctV1RUd5XsadPiXSoAgFtVVlYqMzNTFRUVysjIiNrfiXhwOV55ebny8/P10EMPaVoz7ny1J/6nPynjmmukzp2jWTw0orT0mFWyaSICADQiVsEl6sOhO3TooFNPPVVbt24N7Revv16K4omjabm5BBYAgLtEfTGeAwcOaNu2beratWu0/xQAAEhwEQ8ut99+u1avXq0dO3bozTff1BVXXKHU1FRdc801kf5TAAAgyUS8qai0tFTXXHON9u3bp86dO+vCCy/UunXr1Jm+KgAAoIUiHlyee+65SD8kAACApBj0cQEAAIgUggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAaBBcAAGANggsAALAGwQUAAFiD4AIAAKxBcAEAANYguAAAAGsQXAAAgDUILgAAwBoEFwAAYA2CCwAAsAbBBQAAWIPgAgAArEFwAQAA1iC4AAAAaxBcAACANaIWXGbPnq0ePXqoTZs2Kigo0Ntvvx2tPwUAAJJEVILL888/rxkzZujuu+/We++9p4EDB6qwsFB79uyJxp8DAABJwuM4jhPpBy0oKNDgwYP16KOPSpL8fr/y8vL0s5/9TL/61a+Cjq2qqlJVVVXtzxUVFerevbt27typjIyMSBcNAABEQWVlpfLy8lReXq7MzMyo/Z1WkX7Aw4cPa/369brrrrtqt6WkpGjkyJFau3ZtneNnzZqlmTNn1tmel5cX6aIBAIAo27dvn13B5euvv1Z1dbWysrKCtmdlZemTTz6pc/xdd92lGTNm1P5cXl6u/Px8ffHFF1E9cbepSarJVtPEeXPeyYDz5ryTQU2LSceOHaP6dyIeXEKVnp6u9PT0OtszMzOT6oLXyMjI4LyTCOedXDjv5JKs552SEt0ByxF/9E6dOik1NVW7d+8O2r57925lZ2dH+s8BAIAkEvHgkpaWpkGDBmnlypW12/x+v1auXKmhQ4dG+s8BAIAkEpWmohkzZmjq1Kk699xzNWTIEP3xj3/UwYMH9ZOf/KTJ301PT9fdd99db/NRIuO8Oe9kwHlz3smA847ueUdlOLQkPfroo3rggQdUVlams846S4888ogKCgqi8acAAECSiFpwAQAAiDTWKgIAANYguAAAAGsQXAAAgDUILgAAwBoxCS6zZ89Wjx491KZNGxUUFOjtt99u9Ph58+apX79+atOmjc4880wtWbIkaL/jOPrd736nrl27qm3btho5cqS2bNkSzVMISyjn/Ze//EUXXXSRTjrpJJ100kkaOXJkneOvv/56eTyeoK8xY8ZE+zRCFsp5P/3003XOqU2bNkHHJOL1Hj58eJ3z9ng8Gj9+fO0xNlzvNWvWaMKECcrJyZHH49GiRYua/J2SkhKdc845Sk9PV+/evfX000/XOSbU/zNiLdTzXrBggUaNGqXOnTsrIyNDQ4cO1bJly4KOueeee+pc7379+kXxLEIX6nmXlJTU+zovKysLOi7Rrnd9712Px6P+/fvXHuP26z1r1iwNHjxY7du3V5cuXTRp0iRt3ry5yd+Lxf076sHl+eef14wZM3T33Xfrvffe08CBA1VYWKg9e/bUe/ybb76pa665RtOmTdOGDRs0adIkTZo0SZs2bao95v7779cjjzyixx9/XG+99ZZOOOEEFRYW6tChQ9E+nWYL9bxLSkp0zTXXqLi4WGvXrlVeXp5Gjx6tL7/8Mui4MWPGaNeuXbVfc+fOjcXpNFuo5y2ZabGPPafPP/88aH8iXu8FCxYEnfOmTZuUmpqqK6+8Mug4t1/vgwcPauDAgZo9e3azjt++fbvGjx+vSy65RBs3btRtt92mG264IegmHs5rKNZCPe81a9Zo1KhRWrJkidavX69LLrlEEyZM0IYNG4KO69+/f9D1fv3116NR/LCFet41Nm/eHHReXbp0qd2XiNf7T3/6U9D57ty5Ux07dqzz/nbz9V69erWmT5+udevWafny5Tpy5IhGjx6tgwcPNvg7Mbt/O1E2ZMgQZ/r06bU/V1dXOzk5Oc6sWbPqPf5HP/qRM378+KBtBQUFzs033+w4juP4/X4nOzvbeeCBB2r3l5eXO+np6c7cuXOjcAbhCfW8j3f06FGnffv2zjPPPFO7berUqc7EiRMjXdSICvW8n3rqKSczM7PBx0uW6/3www877du3dw4cOFC7zYbrfSxJzsKFCxs95o477nD69+8ftO2qq65yCgsLa39u6XMZa8057/qcfvrpzsyZM2t/vvvuu52BAwdGrmBR1pzzLi4udiQ53377bYPHJMP1XrhwoePxeJwdO3bUbrPteu/Zs8eR5KxevbrBY2J1/45qjcvhw4e1fv16jRw5snZbSkqKRo4cqbVr19b7O2vXrg06XpIKCwtrj9++fbvKysqCjsnMzFRBQUGDjxlr4Zz38b777jsdOXKkziqbJSUl6tKli/r27atbbrlF+/bti2jZWyLc8z5w4IDy8/OVl5eniRMn6sMPP6zdlyzXu6ioSFdffbVOOOGEoO1uvt7haOr9HYnn0gZ+v1/79++v8/7esmWLcnJydMopp+jHP/6xvvjiiziVMLLOOussde3aVaNGjdIbb7xRuz1ZrndRUZFGjhyp/Pz8oO02Xe+KigpJanTl51jdv6MaXL7++mtVV1crKysraHtWVladNs4aZWVljR5f8z2Ux4y1cM77eHfeeadycnKCLvCYMWP0t7/9TStXrtQf/vAHrV69WmPHjlV1dXVEyx+ucM67b9+++utf/6rFixfrH//4h/x+v84//3yVlpZKSo7r/fbbb2vTpk264YYbgra7/XqHo6H3d2Vlpb7//vuIvHds8OCDD+rAgQP60Y9+VLutoKBATz/9tJYuXarHHntM27dv10UXXaT9+/fHsaQt07VrVz3++OOaP3++5s+fr7y8PA0fPlzvvfeepMj8X+l2X331lV555ZU672+brrff79dtt92mCy64QGeccUaDx8Xq/h2VtYrQMvfdd5+ee+45lZSUBHVUvfrqq2v/feaZZ2rAgAHq1auXSkpKNGLEiHgUtcWGDh0atPjm+eefr9NOO01PPPGE7r333jiWLHaKiop05plnasiQIUHbE/F6Q3r22Wc1c+ZMLV68OKivx9ixY2v/PWDAABUUFCg/P1//+te/NG3atHgUtcX69u2rvn371v58/vnna9u2bXr44Yf197//PY4li51nnnlGHTp00KRJk4K223S9p0+frk2bNrmmD05Ua1w6deqk1NRU7d69O2j77t27lZ2dXe/vZGdnN3p8zfdQHjPWwjnvGg8++KDuu+8+vfrqqxowYECjx55yyinq1KmTtm7d2uIyR0JLzrtG69atdfbZZ9eeU6Jf74MHD+q5555r1n9Ubrve4Wjo/Z2RkaG2bdtG5DXkZs8995xuuOEG/etf/6pTpX68Dh066NRTT7X6etdnyJAhteeU6NfbcRz99a9/1XXXXae0tLRGj3Xr9b711lv10ksvqbi4WLm5uY0eG6v7d1SDS1pamgYNGqSVK1fWbvP7/Vq5cmXQp+xjDR06NOh4SVq+fHnt8T179lR2dnbQMZWVlXrrrbcafMxYC+e8JdPb+t5779XSpUt17rnnNvl3SktLtW/fPnXt2jUi5W6pcM/7WNXV1frggw9qzymRr7dkhg5WVVXp2muvbfLvuO16h6Op93ckXkNuNXfuXP3kJz/R3Llzg4a9N+TAgQPatm2b1de7Phs3bqw9p0S+3pIZmbN169ZmfTBx2/V2HEe33nqrFi5cqFWrVqlnz55N/k7M7t8hdSsOw3PPPeekp6c7Tz/9tPPRRx85N910k9OhQwenrKzMcRzHue6665xf/epXtce/8cYbTqtWrZwHH3zQ+fjjj527777bad26tfPBBx/UHnPfffc5HTp0cBYvXuy8//77zsSJE52ePXs633//fbRPp9lCPe/77rvPSUtLc3w+n7Nr167ar/379zuO4zj79+93br/9dmft2rXO9u3bnRUrVjjnnHOO06dPH+fQoUNxOcf6hHreM2fOdJYtW+Zs27bNWb9+vXP11Vc7bdq0cT788MPaYxLxete48MILnauuuqrOdluu9/79+50NGzY4GzZscCQ5Dz30kLNhwwbn888/dxzHcX71q1851113Xe3xn332mdOuXTvnv//7v52PP/7YmT17tpOamuosXbq09pimnks3CPW8//nPfzqtWrVyZs+eHfT+Li8vrz3ml7/8pVNSUuJs377deeONN5yRI0c6nTp1cvbs2RPz82tIqOf98MMPO4sWLXK2bNnifPDBB87Pf/5zJyUlxVmxYkXtMYl4vWtce+21TkFBQb2P6fbrfcsttziZmZlOSUlJ0Gv2u+++qz0mXvfvqAcXx3GcP//5z0737t2dtLQ0Z8iQIc66detq91188cXO1KlTg47/17/+5Zx66qlOWlqa079/f+fll18O2u/3+53f/va3TlZWlpOenu6MGDHC2bx5cyxOJSShnHd+fr4jqc7X3Xff7TiO43z33XfO6NGjnc6dOzutW7d28vPznRtvvNFVb+4aoZz3bbfdVntsVlaWM27cOOe9994LerxEvN6O4ziffPKJI8l59dVX6zyWLde7Zrjr8V815zp16lTn4osvrvM7Z511lpOWluaccsopzlNPPVXncRt7Lt0g1PO++OKLGz3eccyw8K5duzppaWlOt27dnKuuusrZunVrbE+sCaGe9x/+8AenV69eTps2bZyOHTs6w4cPd1atWlXncRPtejuOGebbtm1bZ86cOfU+ptuvd33nKyno/Rqv+7fnhwICAAC4HmsVAQAAaxBcAACANQguAADAGgQXAABgDYILAACwBsEFAABYg+ACAACsQXABAADWILgAAABrEFwAAIA1CC4AAMAa/x/rxVDkFv1uNwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画图\n",
    "plt.plot(x_new[:,0],Y_predict,'r-')\n",
    "plt.plot(X1,Y,'b.')\n",
    "plt.axis([0,2,0,25])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cf8f2405-b0d9-47aa-988c-3b884d76b1eb",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
